Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.omg.DynamicAny
Class _DynAnyFactoryStub

    java.lang.Object
      |
      +--org.omg.CORBA.portable.ObjectImpl
            |
            +--org.omg.DynamicAny._DynAnyFactoryStub

All Implemented Interfaces:
  DynAnyFactory, DynAnyFactoryOperations, IDLEntity, Object, Serializable

public class _DynAnyFactoryStub
extends ObjectImpl
implements DynAnyFactory

DynAny objects can be created by invoking operations on the DynAnyFactory object. Generally there are only two ways to create a DynAny object:

- invoking an operation on an existing DynAny object
- invoking an operation on a DynAnyFactory object

A constructed DynAny object supports operations that enable the creation of new DynAny objects encapsulating access to the value of some constituent. DynAny objects also support the copy operation for creating new DynAny objects. A reference to the DynAnyFactory object is obtained by calling ORB.resolve_initial_references() with the identifier parameter set to the string constant "DynAnyFactory".

Dynamic interpretation of an any usually involves creating a DynAny object using create_dyn_any() as the first step. Depending on the type of the any, the resulting DynAny object reference can be narrowed to a DynFixed, DynStruct, DynSequence, DynArray, DynUnion, DynEnum, or DynValue object reference.

Dynamic creation of an any involves creating a DynAny object using create_dyn_any_from_type_code(), passing the TypeCode associated with the value to be created. The returned reference is narrowed to one of the complex types, such as DynStruct, if appropriate. Then, the value can be initialized by means of invoking operations on the resulting object. Finally, the to_any operation can be invoked to create an any value from the constructed DynAny.

Field Summary
`static Class` | `_opsClass`

Constructor Summary
`_DynAnyFactoryStub()`

Method Summary
`String[]` | `_ids()` Retrieves a string array containing the repository identifiers supported by this `ObjectImpl` object.
`DynAny` | `create_dyn_any_from_type_code(TypeCode type)` Creates a DynAny from a TypeCode.
`DynAny` | `create_dyn_any(Any value)` Creates a new DynAny object from an any value.

Methods inherited from class org.omg.CORBA.portable.ObjectImpl
`_create_request, _create_request, _duplicate, _get_delegate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _invoke, _is_a, _is_equivalent, _is_local, _non_existent, _orb, _release, _releaseReply, _request, _request, _servant_postinvoke, _servant_preinvoke, _set_delegate, _set_policy_override, equals, hashCode, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.omg.CORBA.Object
`_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override`

Field Detail

### _opsClass

    public static final Class _opsClass

Constructor Detail

### _DynAnyFactoryStub

    public _DynAnyFactoryStub()

Method Detail

### create_dyn_any

    public DynAny create_dyn_any(Any value)
                          throws InconsistentTypeCode

  Creates a new DynAny object from an any value. A copy of the TypeCode associated with the any value is assigned to the resulting DynAny object. The value associated with the DynAny object is a copy of the value in the original any. The current position of the created DynAny is set to zero if the passed value has components, to -1 otherwise

  Specified by:
    `create_dyn_any` in interface `DynAnyFactoryOperations`
  Throws:
    `InconsistentTypeCode` - if value has a TypeCode with a TCKind of tk_Principal, tk_native, or tk_abstract_interface

### create_dyn_any_from_type_code

    public DynAny create_dyn_any_from_type_code(TypeCode type)
                                         throws InconsistentTypeCode

  Creates a DynAny from a TypeCode. Depending on the TypeCode, the created object may be of type DynAny, or one of its derived types, such as DynStruct. The returned reference can be narrowed to the derived type. In all cases, a DynAny constructed from a TypeCode has an initial default value. The default values of basic types are:
  - false for boolean
  - zero for numeric types
  - zero for types octet, char, and wchar
  - the empty string for string and wstring
  - null for object references
  - a type code with a TCKind value of tk_null for type codes
  - for any values, an any containing a type code with a TCKind value of tk_null type and no value
  For complex types, creation of the corresponding DynAny assigns a default value as follows:
  - For DynSequence it sets the current position to -1 and creates an empty sequence.
  - For DynEnum it sets the current position to -1 and sets the value of the enumerator to the first enumerator value indicated by the TypeCode.
  - For DynFixed it sets the current position to -1 and sets the value zero.
  - For DynStruct it sets the current position to -1 for empty exceptions and to zero for all other TypeCodes. The members (if any) are (recursively) initialized to their default values.
  - For DynArray sets the current position to zero and (recursively) initializes elements to their default value.
  - For DynUnion sets the current position to zero. The discriminator value is set to a value consistent with the first named member of the union. That member is activated and (recursively) initialized to its default value.
  - For DynValue and DynValueBox it initializes to a null value.

  Specified by:
    `create_dyn_any_from_type_code` in interface `DynAnyFactoryOperations`
    `InconsistentTypeCode`

### _ids

    public String[] _ids()

  Description copied from class: `ObjectImpl`
  Retrieves a string array containing the repository identifiers supported by this `ObjectImpl` object. For example, for a stub, this method returns information about all the interfaces supported by the stub.

  Specified by:
    `_ids` in class `ObjectImpl`
  Returns:
    the array of all repository identifiers supported by this `ObjectImpl` instance

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.